package br.com.bco.hibernate;

/**
 * Constantes com os nomes de classes que representam tipos para o Hibernate.
 */
public final class HibernateUserTypeConstants {

    /**
     * Pacote com classes quem implementam a interface Hibernate
     * {@link org.hibernate.usertype.UserType} para persistir os tipos da biblioteca JodaTime.
     */
    public static final String JODA_HIBERNATE_PACKAGE = "org.joda.time.contrib.hibernate.";

    /**
     * Classe com o Hibernate user type para a classe {@link org.joda.time.LocalDate}.
     */
    public static final String JODA_LOCAL_DATE = JODA_HIBERNATE_PACKAGE + "PersistentLocalDate";

    /**
     * Classe com o Hibernate user type para a classe {@link org.joda.time.LocalDate}.
     */
    public static final String JODA_DATE_TIME = JODA_HIBERNATE_PACKAGE + "PersistentDateTime";

    /**
     * Classe com o Hibernate user type para enumeracoes que implementam a interface
     * {@link br.gov.bcb.candidato.hibernate.EnumCodigoDescricao}.
     */
    public static final String ENUM_TYPE_INTEGER =
            "br.gov.bcb.candidato.hibernate.EnumIntegerUserType";

}
